package com.ruoyi.resume.mapper;

import com.ruoyi.resume.domain.*;
import com.ruoyi.resume.dto.ResumeDTO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ResumeMapper {
    public ResumeDTO getResume(Long userId);


    /**
     * 插入简历主表数据
     * @param resumeDTO 简历数据传输对象
     */
    void insertResume(ResumeDTO resumeDTO);

    /**
     * 插入教育经历数据
     * @param educations 教育经历列表
     */
    void insertEducations(List<BoleResumeEducation> educations);

    /**
     * 插入工作经历数据
     * @param workExperiences 工作经历列表
     */
    void insertWorkExperiences(List<BoleResumeWork> workExperiences);

    /**
     * 插入项目经历数据
     * @param projects 项目经历列表
     */
    void insertProjects(List<BoleResumeProject> projects);

    /**
     * 插入荣誉奖项数据
     * @param honors 荣誉奖项列表
     */
    void insertHonors(List<BoleResumeHonor> honors);

    /**
     * 插入技能数据
     * @param skills 技能列表
     */
    void insertSkills(List<BoleResumeSkills> skills);

    // 修改简历主表信息
    void updateResume(ResumeDTO resumeDTO);
    // 删除指定简历下的所有教育经历
    void deleteEducationsByResumeId(Long resumeId);
    // 删除指定简历下的所有工作经历
    void deleteWorkExperiencesByResumeId(Long resumeId);
    // 删除指定简历下的所有项目经历
    void deleteProjectsByResumeId(Long resumeId);
    // 删除指定简历下的所有荣誉奖项
    void deleteHonorsByResumeId(Long resumeId);
    // 删除指定简历下的所有技能
    void deleteSkillsByResumeId(Long resumeId);
}
